package br.ufrgs.engsoft.ui;

import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;

import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.servlet.http.HttpServletRequest;

import br.ufrgs.engsoft.ejb.remote.ReferenciaEJBRemote;
import br.ufrgs.engsoft.entity.Referencia;
import br.ufrgs.engsoft.util.HtmlParameterEnum;

/**
 * Controlador da acao Listar Referencia.
 */
public class ListarReferenciaController implements Controller {
	/*
	 * (non-Javadoc)
	 * @see br.ufrgs.engsoft.ui.Controller#processaAcao(javax.servlet.http.HttpServletRequest)
	 */
	public HashMap<HtmlParameterEnum, Object> processaAcao(HttpServletRequest request) throws NamingException {
		// Obtem o ReferenciaEJB
		ReferenciaEJBRemote referenciaEJB = (ReferenciaEJBRemote) new InitialContext().lookup("java:global/PublicacaoWEB/ReferenciaEJB");
		
		// Obtem a lista de referencias
		
		List<Referencia> referencias = new ArrayList<Referencia>(referenciaEJB.listarReferencia()); 
		Collections.sort(referencias);
		
		// Adiciona aos parametros HTML
		HashMap<HtmlParameterEnum, Object> param = new HashMap<HtmlParameterEnum, Object>();
		param.put(HtmlParameterEnum.REFERENCIA_LISTA, referencias);
		return param;
	}
}
